library(plotly)
Registered S3 method overwritten by 'data.table':
  method           from
  print.data.table     
Registered S3 method overwritten by 'htmlwidgets':
  method           from         
  print.htmlwidget tools:rstudio

Attaching package: ‘plotly’

The following object is masked from ‘package:ggplot2’:

    last_plot

The following object is masked from ‘package:stats’:

    filter

The following object is masked from ‘package:graphics’:

    layout
source(file = "cleaning.R")
Rows: 128992 Columns: 18── Column specification ─────────────────────────────────────────────────────────────────────────────────
Delimiter: ","
chr (12): Quarter, QuarterQF, HB, HBQF, Location, LocationQF, AdmissionType, AdmissionTypeQF, Sex, Ag...
dbl  (6): Episodes, LengthOfEpisode, AverageLengthOfEpisode, Stays, LengthOfStay, AverageLengthOfStay
ℹ Use `spec()` to retrieve the full column specification for this data.
ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.Rows: 40711 Columns: 18── Column specification ─────────────────────────────────────────────────────────────────────────────────
Delimiter: ","
chr (11): Quarter, QuarterQF, HB, HBQF, Location, LocationQF, AdmissionType, AdmissionTypeQF, SIMDQF,...
dbl  (7): SIMD, Episodes, LengthOfEpisode, AverageLengthOfEpisode, Stays, LengthOfStay, AverageLength...
ℹ Use `spec()` to retrieve the full column specification for this data.
ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
inputs <- list(
  admission_input = "Emergency Inpatients",
  sex_input = "Male",
  age_input = "40-49 years",
  simd_input = 5,
  age_sex = "age",
  lockdown_input = "post"
  
  
)

bot_simd_clean %>% 
  filter(admission_type == inputs$admission_input) %>% 
  group_by(simd) %>% 
  summarise(total_episodes = sum(episodes)) %>% 
  ggplot()+
  aes(x = simd,
      y = total_episodes,
      fill = as.factor(simd)) +
  geom_col() +
  theme_minimal()+
  labs(
    x = "SIMD Level",
    y = "Total Episodes"
  ) +
  theme(
    legend.position = "none"
  )

bot_sex_clean %>% 
  group_by(age,
           sex) %>% 
  summarise(total_episodes = sum(episodes)) %>% 
  ggplot()+
  aes(x = age,
      y = total_episodes,
      fill = sex) +
  geom_col(position = "dodge") +
  theme_minimal()+
  labs(
    x = "\nAge Ranges",
    y = "Total Episodes\n"
  ) +
  theme(
    legend.position = "none",
    axis.text.x = element_text(angle = 315,
                               vjust = 0.2,
                               hjust = 0.5)
  )
`summarise()` has grouped output by 'age'. You can override using the `.groups` argument.

bot_sex_clean %>% 
  filter(age == inputs$age_input,
         admission_type %in% c("Elective Inpatients",
                               "Emergency Inpatients")) %>% 
  group_by(age, admission_type) %>% 
  summarise(tot_episodes = sum(episodes)) %>% 
  ggplot()+
  aes(x = age,
      y = tot_episodes,
      fill = admission_type) +
  geom_col(position = "dodge")
`summarise()` has grouped output by 'age'. You can override using the `.groups` argument.

ggplotly(bot_simd_clean %>% 
  drop_na(simd) %>% 
  filter(admission_type %in% c("Elective Inpatients",
                               "Emergency Inpatients"),
         lockdown == inputs$lockdown_input) %>% 
  group_by(simd, admission_type) %>% 
  summarise(total_episodes = sum(episodes)) %>% 
  ggplot()+
  aes(x = simd,
      y = total_episodes,
      fill = admission_type) +
  geom_col(position = "stack")+
  theme_minimal(
  ) +
  labs(
    x = "\nSIMD Ranking",
    y = "Total Episodes\n",
    fill = "Admission Type"
  ))
`summarise()` has grouped output by 'simd'. You can override using the `.groups` argument.
bot_sex_clean %>% 
  group_by(sex, quarter) %>% 
  summarise(mean_episodes = mean(episodes)) %>% 
  ggplot() +
  aes(x = quarter,
      y = mean_episodes,
      group = sex,
      colour = sex) +
  geom_line() +
  theme(
    axis.text.x = element_text(angle = 315,
                               vjust = 0.2,
                               hjust = 0.5)
  
    )
`summarise()` has grouped output by 'sex'. You can override using the `.groups` argument.

bot_simd_clean %>% 
  drop_na(simd) %>% 
  filter(admission_type %in% c("Elective Inpatients",
                               "Emergency Inpatients")) %>% 
  group_by(simd, admission_type) %>% 
  summarise(mean_episodes = sum(episodes)) %>% 
  ggplot()+
  aes(x = simd,
      y = mean_episodes,
      fill = admission_type) +
  geom_col(position = "stack")
`summarise()` has grouped output by 'simd'. You can override using the `.groups` argument.

bot_simd_clean %>% 
  drop_na(simd) %>% 
  filter(admission_type %in% c("Elective Inpatients",
                               "Emergency Inpatients")) %>% 
  group_by(simd, admission_type) %>% 
  summarise(mean_episodes = sum(episodes))
`summarise()` has grouped output by 'simd'. You can override using the `.groups` argument.
ggplotly(covid_simd %>% 

  ggplot() +
    aes(
      x = simd_quintile,
      y = first_infections,
      fill = as.factor(simd_quintile),
      text = first_infections
    ) +
    geom_col()
)
bot_sex_clean %>% 
  filter(age == "0-9 years") %>% 
  group_by(sex) 
LS0tCnRpdGxlOiAiRXVhbiBBbmFseXNpcyIKb3V0cHV0OiBodG1sX25vdGVib29rCi0tLQpgYGB7cn0KbGlicmFyeShwbG90bHkpCmBgYAoKCmBgYHtyfQpzb3VyY2UoZmlsZSA9ICJjbGVhbmluZy5SIikKYGBgCgoKCmBgYHtyfQppbnB1dHMgPC0gbGlzdCgKICBhZG1pc3Npb25faW5wdXQgPSAiRW1lcmdlbmN5IElucGF0aWVudHMiLAogIHNleF9pbnB1dCA9ICJNYWxlIiwKICBhZ2VfaW5wdXQgPSAiNDAtNDkgeWVhcnMiLAogIHNpbWRfaW5wdXQgPSA1LAogIGFnZV9zZXggPSAiYWdlIiwKICBsb2NrZG93bl9pbnB1dCA9ICJwb3N0IgogIAogIAopCmBgYAoKCgoKCmBgYHtyfQoKYm90X3NpbWRfY2xlYW4gJT4lIAogIGZpbHRlcihhZG1pc3Npb25fdHlwZSA9PSBpbnB1dHMkYWRtaXNzaW9uX2lucHV0KSAlPiUgCiAgZ3JvdXBfYnkoc2ltZCkgJT4lIAogIHN1bW1hcmlzZSh0b3RhbF9lcGlzb2RlcyA9IHN1bShlcGlzb2RlcykpICU+JSAKICBnZ3Bsb3QoKSsKICBhZXMoeCA9IHNpbWQsCiAgICAgIHkgPSB0b3RhbF9lcGlzb2RlcywKICAgICAgZmlsbCA9IGFzLmZhY3RvcihzaW1kKSkgKwogIGdlb21fY29sKCkgKwogIHRoZW1lX21pbmltYWwoKSsKICBsYWJzKAogICAgeCA9ICJTSU1EIExldmVsIiwKICAgIHkgPSAiVG90YWwgRXBpc29kZXMiCiAgKSArCiAgdGhlbWUoCiAgICBsZWdlbmQucG9zaXRpb24gPSAibm9uZSIKICApCmBgYAoKYGBge3J9CmJvdF9zZXhfY2xlYW4gJT4lIAogIGdyb3VwX2J5KGFnZSwKICAgICAgICAgICBzZXgpICU+JSAKICBzdW1tYXJpc2UodG90YWxfZXBpc29kZXMgPSBzdW0oZXBpc29kZXMpKSAlPiUgCiAgZ2dwbG90KCkrCiAgYWVzKHggPSBhZ2UsCiAgICAgIHkgPSB0b3RhbF9lcGlzb2RlcywKICAgICAgZmlsbCA9IHNleCkgKwogIGdlb21fY29sKHBvc2l0aW9uID0gImRvZGdlIikgKwogIHRoZW1lX21pbmltYWwoKSsKICBsYWJzKAogICAgeCA9ICJcbkFnZSBSYW5nZXMiLAogICAgeSA9ICJUb3RhbCBFcGlzb2Rlc1xuIgogICkgKwogIHRoZW1lKAogICAgbGVnZW5kLnBvc2l0aW9uID0gIm5vbmUiLAogICAgYXhpcy50ZXh0LnggPSBlbGVtZW50X3RleHQoYW5nbGUgPSAzMTUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2anVzdCA9IDAuMiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhqdXN0ID0gMC41KQogICkKCgpgYGAKCgpgYGB7cn0KYm90X3NleF9jbGVhbiAlPiUgCiAgZmlsdGVyKGFnZSA9PSBpbnB1dHMkYWdlX2lucHV0LAogICAgICAgICBhZG1pc3Npb25fdHlwZSAlaW4lIGMoIkVsZWN0aXZlIElucGF0aWVudHMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkVtZXJnZW5jeSBJbnBhdGllbnRzIikpICU+JSAKICBncm91cF9ieShhZ2UsIGFkbWlzc2lvbl90eXBlKSAlPiUgCiAgc3VtbWFyaXNlKHRvdF9lcGlzb2RlcyA9IHN1bShlcGlzb2RlcykpICU+JSAKICBnZ3Bsb3QoKSsKICBhZXMoeCA9IGFnZSwKICAgICAgeSA9IHRvdF9lcGlzb2RlcywKICAgICAgZmlsbCA9IGFkbWlzc2lvbl90eXBlKSArCiAgZ2VvbV9jb2wocG9zaXRpb24gPSAiZG9kZ2UiKQpgYGAKCgoKYGBge3J9CnNpbWRfc3RhY2sgPC0gZ2dwbG90bHkoYm90X3NpbWRfY2xlYW4gJT4lIAogIGRyb3BfbmEoc2ltZCkgJT4lIAogIGZpbHRlcihhZG1pc3Npb25fdHlwZSAlaW4lIGMoIkVsZWN0aXZlIElucGF0aWVudHMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkVtZXJnZW5jeSBJbnBhdGllbnRzIiksCiAgICAgICAgIGxvY2tkb3duID09IGlucHV0cyRsb2NrZG93bl9pbnB1dCkgJT4lIAogIGdyb3VwX2J5KHNpbWQsIGFkbWlzc2lvbl90eXBlKSAlPiUgCiAgc3VtbWFyaXNlKHRvdGFsX2VwaXNvZGVzID0gc3VtKGVwaXNvZGVzKSkgJT4lIAogIGdncGxvdCgpKwogIGFlcyh4ID0gc2ltZCwKICAgICAgeSA9IHRvdGFsX2VwaXNvZGVzLAogICAgICBmaWxsID0gYWRtaXNzaW9uX3R5cGUpICsKICBnZW9tX2NvbChwb3NpdGlvbiA9ICJzdGFjayIpKwogIHRoZW1lX21pbmltYWwoCiAgKSArCiAgbGFicygKICAgIHggPSAiXG5TSU1EIFJhbmtpbmciLAogICAgeSA9ICJUb3RhbCBFcGlzb2Rlc1xuIiwKICAgIGZpbGwgPSAiQWRtaXNzaW9uIFR5cGUiCiAgKSkKYGBgCgpgYGB7cn0KYm90X3NleF9jbGVhbiAlPiUgCiAgZ3JvdXBfYnkoc2V4LCBxdWFydGVyKSAlPiUgCiAgc3VtbWFyaXNlKG1lYW5fZXBpc29kZXMgPSBtZWFuKGVwaXNvZGVzKSkgJT4lIAogIGdncGxvdCgpICsKICBhZXMoeCA9IHF1YXJ0ZXIsCiAgICAgIHkgPSBtZWFuX2VwaXNvZGVzLAogICAgICBncm91cCA9IHNleCwKICAgICAgY29sb3VyID0gc2V4KSArCiAgZ2VvbV9saW5lKCkgKwogIHRoZW1lKAogICAgYXhpcy50ZXh0LnggPSBlbGVtZW50X3RleHQoYW5nbGUgPSAzMTUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2anVzdCA9IDAuMiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhqdXN0ID0gMC41KQogIAogICAgKQogIAogIApgYGAgCgpgYGB7cn0KYm90X3NpbWRfY2xlYW4gJT4lIAogIGRyb3BfbmEoc2ltZCkgJT4lIAogIGZpbHRlcihhZG1pc3Npb25fdHlwZSAlaW4lIGMoIkVsZWN0aXZlIElucGF0aWVudHMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkVtZXJnZW5jeSBJbnBhdGllbnRzIikpICU+JSAKICBncm91cF9ieShzaW1kLCBhZG1pc3Npb25fdHlwZSkgJT4lIAogIHN1bW1hcmlzZShtZWFuX2VwaXNvZGVzID0gbWVhbihlcGlzb2RlcykpICU+JSAKICBnZ3Bsb3QoKSsKICBhZXMoeCA9IHNpbWQsCiAgICAgIHkgPSBtZWFuX2VwaXNvZGVzLAogICAgICBmaWxsID0gYWRtaXNzaW9uX3R5cGUpICsKICBnZW9tX2NvbChwb3NpdGlvbiA9ICJzdGFjayIpCmBgYAoKCmBgYHtyfQpib3Rfc2ltZF9jbGVhbiAlPiUgCiAgZHJvcF9uYShzaW1kKSAlPiUgCiAgZmlsdGVyKGFkbWlzc2lvbl90eXBlICVpbiUgYygiRWxlY3RpdmUgSW5wYXRpZW50cyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiRW1lcmdlbmN5IElucGF0aWVudHMiKSkgJT4lIAogIGdyb3VwX2J5KHNpbWQsIGFkbWlzc2lvbl90eXBlKSAlPiUgCiAgc3VtbWFyaXNlKG1lYW5fZXBpc29kZXMgPSBzdW0oZXBpc29kZXMpKQpgYGAKCgpgYGB7cn0KZ2dwbG90bHkoY292aWRfc2ltZCAlPiUgCgogIGdncGxvdCgpICsKICAgIGFlcygKICAgICAgeCA9IHNpbWRfcXVpbnRpbGUsCiAgICAgIHkgPSBmaXJzdF9pbmZlY3Rpb25zLAogICAgICBmaWxsID0gYXMuZmFjdG9yKHNpbWRfcXVpbnRpbGUpLAogICAgICB0ZXh0ID0gZmlyc3RfaW5mZWN0aW9ucwogICAgKSArCiAgICBnZW9tX2NvbCgpCikKYGBgCgoKCmBgYHtyfQpnZ3Bsb3RseShjb3ZpZF9zaW1kICU+JSAKCiAgZ2dwbG90KCkgKwogICAgYWVzKAogICAgICB4ID0gc2ltZF9xdWludGlsZSwKICAgICAgeSA9IHJlaW5mZWN0aW9ucywKICAgICAgdGV4dCA9IHJlaW5mZWN0aW9ucwogICAgKSArCiAgICBnZW9tX2NvbChmaWxsID0gImJsdWUiKSArCiAgICB0aGVtZV9taW5pbWFsKCksCiAgdG9vbHRpcCA9ICJ0ZXh0IgopCmBgYAoKCmBgYHtyfQpib3Rfc2V4X2NsZWFuICU+JSAKICBmaWx0ZXIoYWdlID09ICIwLTkgeWVhcnMiKSAlPiUgCiAgZ3JvdXBfYnkoc2V4KSAKYGBgCgoK